package org.linlinjava.litemall.wx.vo.packagegoods;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.linlinjava.litemall.db.domain.*;
import org.linlinjava.litemall.wx.vo.GoodsDetailPropVo;
import org.linlinjava.litemall.wx.vo.GoodsDetailSpecMerVo;

import java.util.Collection;
import java.util.List;

@Data
@ApiModel(value="套餐商品详情响应类",description="商品详情响应类")
@NoArgsConstructor
public class PackageCategoryGoodsVO {
    @ApiModelProperty(value = "类目")
    private LumierePackageCategoryGoods categoryGoods;

    @ApiModelProperty(value = "商品")
    private LitemallGoods goods;

    @ApiModelProperty(value = "属性")
    private List<GoodsPropertyVO> goodsProperties;

    @ApiModelProperty(value = "套餐商品 配方详情")
    private List<GoodsFormulaVO> goodsFormulas;

    //@ApiModelProperty(value = "选择配方 true是配方｜false 老配置")
    //private Boolean isFormula;

    /*@ApiModelProperty(value = "配方详情 规格")
    private List<LumiereFormulaSpecifications> formulaSpecifications;*/

    /*@ApiModelProperty(value = "老详情 规格")
    private List<LitemallGoodsSpecification> goodsSpecification;*/



    /*@ApiModelProperty(value = "商品辅料")
    private List<LitemallGoodsAccessory> goodsAccessories;
    @ApiModelProperty(value = "套餐商品 老详情")
    private List<GoodsGoodsSpecificationVO> goodsGoodsSpecifications;*/


   /* @Data
    @ApiModel(value="套餐商品 老详情")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class GoodsGoodsSpecificationVO {

       *//* @ApiModelProperty(value = "商品辅料")
        private List<LitemallGoodsAccessory> goodsAccessories;*//*

        @ApiModelProperty(value = "规格")
        private LitemallGoodsSpecification goodsSpecification;

        @ApiModelProperty(value = "原料")
        private List<PackageGoodsSpecificationMerchandiseVO> goodsSpecificationMerchandises;

    }*/


    @Data
    @ApiModel(value="套餐商品 配方详情")
    @NoArgsConstructor
    @AllArgsConstructor
    public static class GoodsFormulaVO {

        @ApiModelProperty(value = "规格")
        private LumiereFormulaSpecifications formulaSpecifications;

        @ApiModelProperty(value = "规格 辅料｜主料 参数配比")
        private Collection<List<PackageFormulaSpecificationsDataProportioningAndMaterialVO>> formulaSpecificationsDataProportioningsMaster;

        @ApiModelProperty(value = "规格 辅料｜主料 参数配比")
        private Collection<List<PackageFormulaSpecificationsDataProportioningAndMaterialVO>> formulaSpecificationsDataProportioningsSlave;

    }

}
